/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package datasource.bmp;

import datasource.ColorTable;
import datasource.Imagen;
import datasource.pixel.MonoPixel;
import datasource.pixel.Pixel;
import java.io.BufferedOutputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.util.logging.Level;
import java.util.logging.Logger;

/**
 *
 * @author Fabian
 */
public class ImagenBMP extends Imagen {

    BitmapFileHeader header;
    DIBHeader dibheader;
    ColorTable ctable;
    Pixel pixelarray[];

    public ImagenBMP() {
        //implementar constructor de cada clase incluida
        /*header = new BitmapFileHeader();
        bmiheader = new BitmapV5InfoHeader();
        ctable = new ColorTable();
        bmcheader= new BitmapCoreHeader();*/
    }
    @Override
     public Object clone(){
        ImagenBMP obj=null;
        try{
            obj=(ImagenBMP)super.clone();
        }catch(CloneNotSupportedException ex){
            System.out.println(" no se pudo duplicar imagen");
        }
        return obj;
    }
    public ImagenBMP getClone(){
        return (ImagenBMP) clone();
    }

    public ImagenBMP(BitmapFileHeader header, DIBHeader bmiheader, ColorTable ctable, Pixel[] pixelarray) {
        this.header = header;
        this.dibheader = bmiheader;
        this.ctable = ctable;
        this.pixelarray = pixelarray;
    }

    public ColorTable getCtable() {
        return ctable;
    }

    public DIBHeader getDibheader() {
        return dibheader;
    }

    public BitmapFileHeader getHeader() {
        return header;
    }

    public Pixel[] getPixelarray() {
        return pixelarray;
    }

    //metodo solo para generar una imagen aleatoria para probar
    //lectura y escritura

    /**
     * Crea el pixelarray deacuerdo con el tipo de pixel dado por el campo bits por pixel
     * bitspp en BitmapV5InfoHeader bmiheader
     */
    public void createPixelArray() {
    }
}
